<?php if ( ! defined('WDK_PATH')) exit('No direct script access allowed');
require_once BASE_PATH.'admin/controller.php';
class Bbs extends Controller
{
	function __construct()
	{
		parent::__construct();
	}
	
	protected function _init() 
	{
		parent::_loginCheck();
	}
	
	public function index()
	{	
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$assign_data = array();
		/****************************************************************************************************************************/
		try
		{
			$assign_data['json'] = $this->json(true);
		}
		catch(WException $e)
		{
			parent::_error($e);
		}
		/*****************************************************************************************************************************
		* RESULT
		*****************************************************************************************************************************/
		parent::_view($assign_data);
		/****************************************************************************************************************************/
	}
	
	public function json($return=false)
	{
		/*****************************************************************************************************************************
		 * POST PARAMS..
		*****************************************************************************************************************************/
		$page	= (int)		post('page', 1);
		$sf		= (string)	post('sf', '');
		$sk		= (string)	post('sk', '');
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$listsize		= 15;
		$pagesize		= 10;
		$lm = Wdk::get('BbsManager');
		$lists = array();
		$where = array();
		$assign_data = array('listsize'=>$listsize,'pagesize'=>$pagesize);
		/****************************************************************************************************************************/
		try
		{
			if(strlen($sf) > 0 && strlen($sk) > 0)
			{
				$where[] = "`{$sf}` LIKE '{$sk}'";
			}
			$lm['listsize'] = $listsize;
			$lm['page'] = $page;
			$lm['where'] = $where;
			$lm->load();
			$bpm = Wdk::get('PostManager');
			foreach($lm['lists'] as $idx=>$list)
			{
				$data = array(	'no'				=>	$lm['total'] - ($page-1)*$listsize - $idx,
								'seq'				=>	$list['bbs_seq'],
								'name'				=>	$list['bbs_name'],
								'count'				=>	$bpm->countByBbsSeq($list['bbs_seq']),
								'list_level'		=>	$list['bbs_list_level'],
								'read_level'		=>	$list['bbs_read_level'],
								'write_level'		=>	$list['bbs_write_level'],
								'skin'				=>	$list['bbs_skin'],
								'category_flag'		=>	$list['bbs_category_flag'] == 'T' ? "사용" : "사용안함 ",
								'file_flag'			=>	$list['bbs_file_flag'] == 'T' ? "사용" : "사용안함 ",
								'comment_flag'		=>	$list['bbs_comment_flag'] == 'T' ? "사용" : "사용안함 ",
								'recommend_flag'	=>	$list['bbs_recommend_flag'] == 'T' ? "사용" : "사용안함 ",
								'use_flag'			=>	$list['bbs_use_flag'] == 'T' ? "사용" : "사용안함 ",
								'insert_time'		=>	date('Y-m-d H:i:s', $list['bbs_insert_time'])
							);
				array_push($lists, $data);
			}
			$assign_data['total'] = $lm['total'];
			$assign_data['lists'] = $lists;
		}
		catch(NoRecordException $e)
		{
			$assign_data['total'] = 0;
			$assign_data['lists'] = array();
		}
		catch(WException $e)
		{
			$assign_data['error'] = true;
			$assign_data['msg'] = "Error";
		}
		/*****************************************************************************************************************************
		 * RESULT
		*****************************************************************************************************************************/
		return parent::_json($assign_data, $return);
		/****************************************************************************************************************************/
	}
	
	public function edit($seq=0) 
	{
		$this->__edit();
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$assign_data = array();
		$obj = Wdk::get('Bbs');
		/****************************************************************************************************************************/
		try
		{
			if((int)$seq > 0)
			{
				$obj->load($seq);
			}
			$assign_data['data'] = $obj;
			$assign_data['bbs_skins'] = array('default');
			/*******************************************************/
			$ug = Wdk::get('UserGroupManager');
			$ug['order'] = array("`user_group_level` ASC");
			$ug->load();
			$assign_data['user_group'] = $ug['lists'];
			/*******************************************************/
		}
		catch(NoRecordException $e)
		{
			parent::_error($e);
		}
		catch(WException $e)
		{
			parent::_error($e);
		}
		/*****************************************************************************************************************************
		* RESULT
		*****************************************************************************************************************************/
		parent::_layout('popup');
		parent::_view($assign_data);
		/****************************************************************************************************************************/
	}
	
	private function __edit() 
	{
		if(parent::_isPost() == false) return;
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$assign_data = array();
		$obj = Wdk::get('Bbs');
		/****************************************************************************************************************************/
		try
		{
			$seq = post('bbs_seq', 0);
			if($seq > 0)
			{
				$obj->load($seq);
			}
			
			$obj['bbs_id']				= (string) post('bbs_id');
			$obj['bbs_name']			= (string) post('bbs_name');
			$obj['bbs_skin']			= (string) post('bbs_skin');
			$obj['bbs_use_flag']		= (string) post('bbs_use_flag');
			$obj['bbs_listsize']		= (int) post('bbs_listsize');
			$obj['bbs_pagesize']		= (int) post('bbs_pagesize');;
			$obj['bbs_header']			= (string) post('bbs_header');
			$obj['bbs_footer']			= (string) post('bbs_footer');
			/******************************************************************/
			$obj['bbs_notice_flag']		= (string) post('bbs_notice_flag');
			$obj['bbs_comment_flag']	= (string) post('bbs_comment_flag');
			$obj['bbs_recommend_flag']	= (string) post('bbs_recommend_flag');
			$obj['bbs_secure_flag']		= (string) post('bbs_secure_flag');
			$obj['bbs_captcha_flag']	= (string) post('bbs_captcha_flag');
			$obj['bbs_scrap_flag']		= (string) post('bbs_scrap_flag');
			$obj['bbs_linked_post_flag']= (string) post('bbs_linked_post_flag');
			$obj['bbs_moveup_flag']		= (string) post('bbs_moveup_flag');
			$obj['bbs_report_flag']		= (string) post('bbs_report_flag');
			$obj['bbs_copy_flag']		= (string) post('bbs_copy_flag');
			$obj['bbs_poll_flag']		= (string) post('bbs_poll_flag');
			$obj['bbs_tag_flag']		= (string) post('bbs_tag_flag');
			/******************************************************************/
			$obj['bbs_file_flag']		= (string) post('bbs_file_flag');
			$obj['bbs_file_num']		= (int) post('bbs_file_num');
			$obj['bbs_file_size']		= (int) post('bbs_file_size');
			$obj['bbs_file_type']		= (string) post('bbs_file_type');
			/******************************************************************/
			$obj['bbs_list_level']		= (int) post('bbs_list_level');
			$obj['bbs_read_level']		= (int) post('bbs_read_level');
			$obj['bbs_write_level']		= (int) post('bbs_write_level');
			$obj['bbs_write_point']		= (int) post('bbs_write_point');
			$obj['bbs_read_point']		= (int) post('bbs_read_point');
			$obj['bbs_comment_point']	= (int) post('bbs_comment_point');
			/******************************************************************/
			$obj['bbs_category_flag']	= (string) post('bbs_category_flag');
			$obj->setCategory(	post('category_seq'),
								post('category_name'),
								post('category_index'),
								post('category_use_flag'),
								post('category_del_flag')
							);
			/******************************************************************/
			$obj['bbs_option_fields']	= (array) post('bbs_option_fields');
			/******************************************************************/
			$obj['bbs_admin_seq']		= (string) post('bbs_admin_seq');
			/******************************************************************/
			$obj->autoUpdate();
		}
		catch(NoRecordException $e)
		{
			parent::_error($e);
		}
		catch(WException $e)
		{
			parent::_error($e);
		}
		/*****************************************************************************************************************************
		* RESULT
		*****************************************************************************************************************************/
		parent::_script(array(	"alert('저장완료!')",
								"opener.wlm.reload();",
								"location.href = location;"
							)
						);
		/****************************************************************************************************************************/		
	}

	public function del() 
	{
		parent::_del(Wdk::get('Bbs'));
	}
}